<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>


<script>

    const obj = {
        age: 18
    }
    function fn(x, y) {
        console.log(this)
    }

    fn(1, 2)

    // apply和call的区别在于，给函数传递的参数是数组的形式，这样就方便了很多，更加灵活
    fn.apply(obj, [1, 2])

    let arr = [1, 2, 3]

    // 可以通过这种方式调用函数，否则需要通过...展开运算符来调用，只能硬编码
    Math.max.apply(null, arr)


    console.log(Math.max(arr)) // NaN
    console.log(Math.max(...arr))

</script>
    
</body>
</html>